package com.djinfo.work.service;


import com.djinfo.work.common.bean.AjaxJson;
import com.djinfo.work.entity.TbSysRoleMenu;
import com.djinfo.work.entity.TbSysRoles;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 实现 用户登录 首页导航
 * 
 * @author wxf Service业务接口
 */
public interface RoleService {
	public void save(TbSysRoles tbSysRoles);
	public void saveMenuIdsToRole(TbSysRoleMenu tbSysRoleMenu);
	//删除roleMenu表中对应的某个角色
	public void deleteMenuByRoleId(String RoleId);
	public void update(TbSysRoles tbSysRoles);
	//删除角色
	public void delete(TbSysRoles tbSysRoles);
	public TbSysRoles selectOne(TbSysRoles tbSysRoles);
	public List<TbSysRoles> page(TbSysRoles tbSysRoles, Integer pageNum, Integer pageSize);
	public Integer getAllRowCount();
	public List getMenuList(String roleId);
	public List getRoleList();
	public List getRoleList2(String uid);
	//删除roleUser表中对应的角色
	public void deleteUserRoleByRoleId(String roleId);

	/**
	 * 角色列表
	 * @param tbSysRoles
	 * @param pagenum
	 * @param pagesize
     * @return
     */
	public AjaxJson list(TbSysRoles tbSysRoles, Integer pagenum, Integer pagesize);

	/**
	 * 获取某个用户的所有角色
	 * @param uid
	 * @return
     */
	public AjaxJson oneUserRoleList(String uid);

	/**
	 * 全部角色列表
	 * @return
     */
	public AjaxJson allList();

	/**
	 * 角色信息
	 * @param tbSysRoles
     * @return
     */
	public AjaxJson info(TbSysRoles tbSysRoles);

	/**
	 * 修改角色权限
	 * @param tbSysRoles
	 * @param roles
	 * @param request
     * @return
     */
	public AjaxJson save(TbSysRoles tbSysRoles, String[] roles, HttpServletRequest request);

	/**
	 * 删除角色
	 * @param roleId
	 * @return
     */
	public AjaxJson delete(String roleId);
}
